<?php
    class Sesi_con extends CI_Controller{
        function __construct() {
            parent::__construct();
            $this->load->helper('form');
        }
        function index(){
            
        }
        function form_generate_sesi($kode,$angkatan)
        {
            $query = $this->db->query("SELECT * FROM kelas WHERE KODE_PELATIHAN = '$kode' AND ANGKATAN = $angkatan");
            $row=$query->result_array();
            $count = $row[0]['JAM_TOTAL']/$row[0]['JAM_PER_SESI'];
            $display['jumlah'] = $count;
            
            $data['title']="Buka kelas baru";
            $display['kode'] = $kode;
            $display['angkatan'] = $angkatan;
            
            $this->load->view('admin/admin_header_view', $data);
            $this->load->view('admin/form_generate_sesi', $display);
            $this->load->view('footer_view');
        }
        
        function insert_per_sesi($kode,$angkatan,$no_sesi){
            //mengisi drop down untuk tema poling
            $query = $this->db->query("SELECT * FROM tema_poling");
            $arr_poll=$query->result_array();
            $arr_id_poll=array(-1);
            $arr_val_poll=array('tidak ada');
            foreach ($arr_poll as $el_poll) {
                array_push($arr_id_poll, $el_poll['ID_TEMA']);
                array_push($arr_val_poll, $el_poll['NAMA_TEMA']);
            }
            $display['tema_poll']=array_combine($arr_id_poll, $arr_val_poll);
            
            //mengisi drop down menu untuk instruktur dan asisten
            $queryinstas = $this->db->query("SELECT ID,NAMA FROM user NATURAL JOIN role where ID_ROLE=8");
            $arr_ins=$queryinstas->result_array();
            $arr_id=array(-1);
            $arr_val=array('tidak ada');
            foreach ($arr_ins as $el_ins) {
                array_push($arr_id, $el_ins['ID']);
                array_push($arr_val, $el_ins['NAMA']);
            }
            $display['insas']=array_combine($arr_id, $arr_val);
            
            //mengisi drop down menu untuk ruangan
            $arr_id_ruangan=array();
            $arr_val_ruangan=array();
            $queryruangan = $this->db->query("SELECT ID_RUANGAN, NAMA_RUANGAN FROM daftar_ruangan");
            $arr_ruangan=$queryruangan->result_array();
            foreach ($arr_ruangan as $el_ruangan) {
                array_push($arr_id_ruangan, $el_ruangan['ID_RUANGAN']);
                array_push($arr_val_ruangan, $el_ruangan['NAMA_RUANGAN']);
            }
            $display['ruangan']=array_combine($arr_id_ruangan, $arr_val_ruangan);
            
            //meload fungsi date
            $this->load->library('simple_effect');
            $data['script']=$this->simple_effect->date_picker('date');
            
            //load view
            $display['mode'] = 'insert';
            $display['kode'] = $kode;
            $display['angkatan'] = $angkatan;
            $display['no_sesi'] = $no_sesi;
                       
            $this->load->view('admin/admin_header_view', $data);
            $this->load->view('admin/edit_sesi', $display);
            $this->load->view('footer_view');
        }
        
        function edit_per_sesi($kode,$angkatan,$no_sesi){
            $cond = array(
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi
                );
            //select data dari databse sesi_pelatihan
            $query_data_sesi = $this->db->get_where('sesi_pelatihan',$cond);
            $data_sesi=$query_data_sesi->row_array();
            $display['val_judul']=$data_sesi['JUDUL_SESI'];
            $display['val_id_tema_poll']=$data_sesi['ID_TEMA'];
            
            //select data dari database daftar_jadwal
            $query_data_jadwal = $this->db->get_where('daftar_jadwal',$cond);
            $data_jadwal=$query_data_jadwal->row_array();
            $display['val_mulai']=$data_jadwal['JAM_MULAI'];
            $display['val_selesai']=$data_jadwal['JAM_SELESAI'];
            $display['val_ruangan']=$data_jadwal['ID_RUANGAN'];
            $display['val_tanggal']=$data_jadwal['TANGGAL'];
            
            //select data dari database ajar untuk instruktur
            $cond = array(
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi,
                    'PERAN'=>'instruktur'
                );
            $query_data_instruktur = $this->db->get_where('ajar',$cond);
            $data_instruktur=$query_data_instruktur->row_array();
            $display['val_ins']=$data_instruktur['ID'];
            
            //select data dari database ajar untuk asisten
            $cond = array(
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi,
                    'PERAN'=>'asisten'
                );
            $query_data_asisten = $this->db->get_where('ajar',$cond);
            $data_asisten=$query_data_asisten->result_array();
            if(count($data_asisten)==2){
                $display['val_ass1']=$data_asisten[0]['ID'];
                $display['val_ass2']=$data_asisten[1]['ID'];
            }else if(count($data_asisten)==1){
                $display['val_ass1']=$data_asisten[0]['ID'];
                $display['val_ass2']=-1;
            }else{
                $display['val_ass1']=-1;
                $display['val_ass2']=-1;
            }
            
            
            //mengisi drop down untuk tema poling
            $query = $this->db->query("SELECT * FROM tema_poling");
            $arr_poll=$query->result_array();
            $arr_id_poll=array(-1);
            $arr_val_poll=array('tidak ada');
            foreach ($arr_poll as $el_poll) {
                array_push($arr_id_poll, $el_poll['ID_TEMA']);
                array_push($arr_val_poll, $el_poll['NAMA_TEMA']);
            }
            $display['tema_poll']=array_combine($arr_id_poll, $arr_val_poll);
            
            //mengisi drop down menu untuk instruktur dan asisten
            $queryinstas = $this->db->query("SELECT ID,NAMA FROM user NATURAL JOIN role where ID_ROLE=8");
            $arr_ins=$queryinstas->result_array();
            $arr_id=array(-1);
            $arr_val=array('tidak ada');
            foreach ($arr_ins as $el_ins) {
                array_push($arr_id, $el_ins['ID']);
                array_push($arr_val, $el_ins['NAMA']);
            }
            $display['insas']=array_combine($arr_id, $arr_val);
            
            //mengisi drop down menu untuk ruangan
            $arr_id_ruangan=array();
            $arr_val_ruangan=array();
            $queryruangan = $this->db->query("SELECT ID_RUANGAN, NAMA_RUANGAN FROM daftar_ruangan");
            $arr_ruangan=$queryruangan->result_array();
            foreach ($arr_ruangan as $el_ruangan) {
                array_push($arr_id_ruangan, $el_ruangan['ID_RUANGAN']);
                array_push($arr_val_ruangan, $el_ruangan['NAMA_RUANGAN']);
            }
            $display['ruangan']=array_combine($arr_id_ruangan, $arr_val_ruangan);
            
            //meload fungsi date
            $this->load->library('simple_effect');
            $data['script']=$this->simple_effect->date_picker('date');
            
            
            
            $display['mode'] = 'update';
            $display['kode'] = $kode;
            $display['angkatan'] = $angkatan;
            $display['no_sesi'] = $no_sesi;
            $this->load->view('admin/admin_header_view', $data);
            $this->load->view('admin/edit_sesi', $display);
            $this->load->view('footer_view');
        }


        function simpan_generate_sesi($mode,$kode,$angkatan,$no_sesi){
            
            $judul   = $this->input->post('judul_sesi');
            $poling  = $this->input->post('poling_sesi');
            $tanggal = $this->input->post('tanggal');
            $id_ruangan = $this->input->post('ruangan');
            $mulai = $this->input->post('mulai');
            $selesai = $this->input->post('selesai');
            $id_ins = $this->input->post('ins_sesi');
            $id_ass1 = $this->input->post('ass1_sesi');
            $id_ass2 = $this->input->post('ass2_sesi');
            
            $data_sesi = array(
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi,
                    'JUDUL_SESI'=>$judul,
                    'ID_TEMA'=>$poling
                );
            
            $data_jadwal = array(
                    'TANGGAL'=>$tanggal,
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi,
                    'ID_RUANGAN'=>$id_ruangan,
                    'JAM_MULAI'=>$mulai,
                    'JAM_SELESAI'=>$selesai
                );
            $data_ins = array(
                    'ID'=>$id_ins,
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi,
                    'PERAN'=>'instruktur'
                );
            $data_ass1 = array(
                    'ID'=>$id_ass1,
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi,
                    'PERAN'=>'asisten'
                );
            $data_ass2 = array(
                    'ID'=>$id_ass2,
                    'KODE_PELATIHAN'=>$kode,
                    'ANGKATAN'=>$angkatan,
                    'NOMOR_SESI'=>$no_sesi,
                    'PERAN'=>'asisten'
                );
            if($mode=="insert"){
                if($no_sesi==1){
                    //Ubah status kelas jadi jalan
                    $data = array('STATUS' => "JALAN");
                    
                    $this->db->where('KODE_PELATIHAN', $kode);
                    $this->db->where('ANGKATAN', $angkatan);
                    $this->db->update('kelas', $data); 
                }
                //insert data buat sesi pelatihan
                $this->db->insert('sesi_pelatihan',$data_sesi);
                //insert data di jadwal
                $this->db->insert('daftar_jadwal',$data_jadwal);
                //insert instruktur
                $this->db->insert('ajar',$data_ins);
                //insert asisten, ada pengecekan jika tidak ada asisten
                if($id_ass1!=-1)
                    $this->db->insert('ajar',$data_ass1);
                if($id_ass2!=-1)
                $this->db->insert('ajar',$data_ass2);
            }else if($mode=="update"){
                
                $tanggal_lama = $this->input->post('tanggal_lama');               
                if($tanggal==''){
                    $data_jadwal['TANGGAL']=$tanggal_lama;
                }
                //Update database sesi pelatihan
                $this->db->where('KODE_PELATIHAN', $kode);
                $this->db->where('ANGKATAN', $angkatan);
                $this->db->where('NOMOR_SESI', $no_sesi);
                $this->db->update('sesi_pelatihan',$data_sesi);
                //Update database daftar jadwal
                $this->db->where('KODE_PELATIHAN', $kode);
                $this->db->where('ANGKATAN', $angkatan);
                $this->db->where('NOMOR_SESI', $no_sesi);
                $this->db->update('daftar_jadwal',$data_jadwal);
                //Update database ajar untuk instruktur
                $this->db->where('KODE_PELATIHAN', $kode);
                $this->db->where('ANGKATAN', $angkatan);
                $this->db->where('NOMOR_SESI', $no_sesi);
                $this->db->where('PERAN', 'instruktur');
                $this->db->update('ajar',$data_ins);
                //Delete database untuk asisten
                $this->db->where('KODE_PELATIHAN', $kode);
                $this->db->where('ANGKATAN', $angkatan);
                $this->db->where('NOMOR_SESI', $no_sesi);
                $this->db->where('PERAN', 'asisten');
                $this->db->delete('ajar');
                //Masukin database asisten yg baru
                if($id_ass1!=-1)
                    $this->db->insert('ajar',$data_ass1);
                if($id_ass2!=-1)
                $this->db->insert('ajar',$data_ass2);
            }
        }
    }
?>
